import logging

# 日志工具类
class logutil:
    def __init__(self):
        # 1.老大logger = getLogger(名字)
        self.logger = logging.getLogger("坤坤")
        # 1.1 设置总级别
        self.logger.setLevel(logging.INFO)
        # 2 控制台小弟 StreamHandler()
        sh = logging.StreamHandler()
        # 2.1 setLevel(显示级别 子级别) 不可以比总级别详细
        sh.setLevel(logging.INFO)
        # 2.2 设置格式setFormater(logging.Formatter('格式内容'))
        sh.setFormatter(logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'))

        # 文件小弟 文件模式
        fh = logging.FileHandler('jw.log',mode='a',encoding='utf-8')
        fh.setLevel(logging.WARNING)
        fh.setFormatter(logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'))
        fh.close()
        # 老大派小弟干活
        self.logger.addHandler(sh)
        self.logger.addHandler(fh)

    def log(self):
        return self.logger


# 获取老大
# 日志系统，代替print完成日志终端分发
# 日志级别划分
# 日志支持 格式设置
logger = logutil().log()
# 自测
if __name__ == '__main__':
    logger.debug('我是代码调试信息')
    logger.info('我是系统正餐输出信息')

    logger.warning('内存不够')
    logger.error('小bug')
    logger.critical('严重事故，导致系统崩溃')